#include <bits/stdc++.h>
using namespace std;
const int N = 300005;
int a[N];
int b[N];       // b[i]表示数字i上次出现的位置
long long c[N]; // c[i]表示数字i之前出现的个数

long long sum[N]; // sum[i]表示数字i与之前所有i组成夹心饼干数

int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    int x = a[i];
    if (b[x] == 0) { // 没出现过
      b[x] = i;
      c[x]++;
      continue;
    }
    // 当前数字x与之前所有的x组成的夹心饼干数量sum[x]
    // 等于上一个x与之前所有x组成的夹心饼干数量
    // 加上之前出现的x数量乘以（  当前x位置-上一个x位置-1）的数字数量
    sum[x] = sum[x] + c[x] * (i - b[x] - 1);
    ans += sum[x];
    c[x]++;
    b[x] = i;
  }
  cout << ans;
  return 0;
}